public class Demo9 {
    //使用interrupt中断线程
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
        // 这个代码是在 lambda 中 (也就是在 t 线程的入口方法中) 调用的
        // 返回结果就是 t
        // System.out.println("t: " + Thread.currentThread().getName());
        while (!Thread.currentThread().isInterrupted()) {
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // 这个线程掀桌了.
//                throw new RuntimeException(e);
                // 1. 加上 break 就是立即终止
                // 2. 啥都不写 就是不终止
                // 3. catch 中先执行一些其他逻辑再 break, 就是稍后终止.
//                break;
            }
        }
        System.out.println("t 结束");
    });
        t.start();

        Thread.sleep(3000);
        System.out.println("main 线程尝试终止 t 线程");
        t.interrupt();

    // 这个代码是在 main 方法中调用的, 此时返回结果就是 main
    // System.out.println("main: " + Thread.currentThread().getName());
    }
}
